Exhaustive driving analytical systems and modelers

ABSTRACT

Exhaustive driving analytical methods, systems, are apparatuses are described. The methods, systems, are apparatuses relate to monitoring driver and/or driving behaviors in view of an exhaustive list of variables to determine safety factors, identify times to react to events, and contextual information regarding the events. The methods, systems, and apparatuses described herein may determine, based on a systematic model, reactions and reaction times, compare the vehicle behavior (or lack thereof) to the modeled reactions and reaction times, and determine safety factors and instructions based on the comparison.

TECHNICAL FIELD

Aspects of the present disclosure generally relate to exhaustive drivinganalytical systems and modelers.

BACKGROUND

Often, improper vehicle operation is a result of human error and/orenvironmental factors. Once an initial driving test is passed, driversare not often re-tested in order to maintain and/or update safe drivingbehaviors. Drivers are sometimes disciplined for poor driving behaviorsas a result of an infraction, but many infractions go unnoticed. Theproposed systematic plurality of sensors and circuitry disclosed hereinmay monitor, analyze, and initiate alerts or warnings for suchpreviously unnoticed infractions and/or initiate instructions forautonomous control of a vehicle.

SUMMARY

The following presents a simplified summary in order to provide a basicunderstanding of some aspects of the disclosure. The summary is not anextensive overview of the disclosure. It is neither intended to identifykey or critical elements of the disclosure nor to delineate the scope ofthe disclosure. The following summary merely presents some concepts ofthe disclosure in a simplified form as a prelude to the descriptionbelow.

Aspects of the disclosure relate to monitoring driver and/or drivingbehaviors in view of an exhaustive list of variables to determine safetyfactors, identify times to react to vehicle events, contextualinformation regarding the and/or actually occurring events, and how adriver perceives such contextual information. In some examples, themethods, systems, and apparatuses described herein may determine, basedon a systematic model, reactions and reaction times, compare the vehiclebehavior (or lack thereof) to the modeled reactions and reaction times,and determine safety factors and instructions based on the comparison.Such information is useful to drivers in real time, to autonomousdriving vehicle computers prior to a vehicle event, and/or to servicepersonnel after a vehicle event.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example safety analytic processing platform and aplurality of example datasets utilized in accordance with one or moreaspects described herein.

FIG. 2 illustrates an environment including a vehicle comprising theexample safety analytic processing platform of FIG. 1.

FIG. 3 illustrates an example computing device specifically configuredto at least perform the method of FIGS. 4A-4B in accordance with one ormore aspects described herein.

FIGS. 4A-4B are a flow chart illustrative of a process for implementingan example safety analytic processing platform in accordance with one ormore aspects described herein.

DETAILED DESCRIPTION

Vehicle activity is often based on a number of factors including roadwayengineering, traffic dynamics, automotive engineering, human factors(e.g., inappropriate/inadequate driver actions/reactions), environmentalconditions, etc. In some examples, it may be useful to utilize in-carsurveillance for monitoring driver behaviors associated with vehicleactivity, such as, distractibility or incapability. In some example,what a driver chooses to do may provide more information relative tosafe driving than what a driver is capable of doing. As used herein,vehicle activity corresponds to a group or series of vehicle events thatoccur during operation of a vehicle. A trip from a first location to asecond location may comprise a plurality of vehicle activities. Forexample, vehicle activity may be exiting a highway on an exit ramp.Example events for exiting a highway on an exit ramp may includedecelerating below highway speed limit, initiating a turn signal,changing lanes, increasing or decreasing vehicle elevation, turning,etc. Each event may comprise factors such as actions and reaction.Actions may correspond to what a driver does or is doing during avehicle event (e.g., whether driver is attentive), whereas reactions maycorrespond to what a vehicle does or is doing during a vehicle event(e.g., whether vehicle is performing as expected for such an event).

The presently described methods, systems, and apparatuses may involve anentire trip analysis that identifies one or more safety factors fordriver actions, driving behavior, and environmental effects in a modularformat. Such analysis may include an exhaustive list of factors, becauseeach factor may contribute to a driver's choice in action and thecorresponding vehicle reaction. Where the analysis is missing factorssuch as, for example, due to data unavailability, models generated asdisclosed herein may utilize partial datasets to predict behavioralaspects associated with the missing factors.

With reference to FIG. 1, the present disclosure relates to a safetyanalytic processing platform (SAPP) 100 using a unique holistic analysisof driver and/or driving behavior to determine safety factors, time toreact to events, situational information providing unprecedentedcontext, and autonomous vehicle instructions for preventing and/oravoiding the events. The SAPP 100 may perform methods and may be or maybe part of apparatuses and/or systems described herein. The SAPP 100 mayutilize one or more of a plurality of datasets such as, for example,dataset 1 102, dataset 2 104, dataset 3 106, dataset 4 108, dataset 5110, dataset 6 112, dataset 7 114, dataset 8 116, dataset 9 118, dataset10 120, or dataset 11 122 to determine one or more of reaction times,eye gazes, number of gazes off roadway, duration of longest glance,number of eye blinks, percentage of time eyes are closed, hand gestures,mouth gestures, body movements, facial expressions hands on wheel,seatbelt non-use, hard braking, speeding, acceleration/deceleration,jerks, navigation through intersections or on ramps, etc. Suchdeterminations may be useful for the SAPP 100 for determining safetyfactors, times to react, and situational context both before and aftervehicle events.

Each dataset of the plurality of datasets may be utilized in one or morefunctions as weights and/or inputs. In some examples, dataset 1 102and/or dataset 2 104 may correspond to weights associated with personalinformation and/or driving activity. Such information may be input by adriver, accessed through one or more databases including driverprofiles, or automatically populated via network searches. In someexamples, dataset 1 102 and/or dataset 2 104 may include personalinformation such as, for example, the driver's historical medicationuse, age, gender, marital status, education, occupation and/or drivingdata such as, for example, driving behavior, driving experience, crashhistory, traffic violations, experience with the route, duration of atrip, planned route.

In some examples, dataset 3 106 and/or dataset 4 108 may correspond todriver actions. Such information may be determined based on one or moresensors including, for example, vehicle cameras, microphones, touchsensors, motion sensors, light imaging, detection, and ranging (LIDAR),etc. One or more driver actions may include, for example, using a mobiledevice (e.g., talking, answering, dialing, listening, texting,searching, etc.), eating, drinking, spilling, smoking, reading, writing,grooming, reaching, leaning, looking for something inside/outside thevehicle, manipulating vehicle controls, manipulating music/audiocontrols, listening to audio, singing/dancing to audio, adjustingseatbelts, mirrors, lights, seatbelt, using driver assisted tools (e.g.,navigation, global positioning system (GPS)), being distracted bypassengers (e.g., babies, family, friends), being visually distracted byexternal factors (e.g., billboards, other vehicles, accidents, emergencyservices (e.g., firetrucks, ambulances, police cars, etc.) animals,pedestrians, etc.), looking for directions, signals, road signs, stores,gas station, or parking spaces, or one or more driver conditions such assleepiness, fatigue, drunkenness while driving, health conditions (heartattack, blackout, loss of consciousness, seizure, blurred vision etc.),emotional distress (depression, angry, disturbed), or carelessness.

In some examples, dataset 5 110, dataset 6 112, dataset 7 114, and/ordataset 8 116 may correspond to environmental data. For example, theenvironmental data may include weather data (e.g., ambient temperature,ambient lightning conditions, time of day, daytime, nighttime, twilight,clear, dry, wet, fog, rain, ice, snow, clouds, or sun glare),infrastructure data (e.g., road geometry, road gradient, road curvature,number of lanes, lane width, shoulder width, straight road path, curvedroad path, intersection on a straight road path, intersection on acurved road path, merge lanes, asphalt road surface, concrete roadsurface, parking lot, loading area, alleyway, one-way road, rural/urbanundivided road, rural/urban divided road via a median, rural/urbandivided road, or gravel/sand road), traffic data (e.g., types of trafficsigns, traffic congestion, traffic inflow/outflow, speed oflead/following/side vehicle, spacing between vehicles, response variabletime headway between vehicles, type of leading vehicle, traffic flow,remaining travel time, location, field of view, or crosswalks), and/orvehicle characteristics (e.g., other vehicle headlight glare, vehiclemass, vehicle type, vehicle controls, vehicle features, or mechanicalfailures).

In some examples, dataset 9 118 and/or dataset 10 120 may correspond tovehicle reactions based on a vehicle event or anticipated vehicle event.One or more vehicle reactions may include variations in vehicle speed,steering position, lateral acceleration, longitudinal acceleration,deceleration rate, angular rate, autonomous overtaking, brake duration,braking behavior, brake pedal position, clutch usage, belt usage, laneposition data, lane deviation, lane departures, vehicle position,standard of lateral position, range rate, yaw rate, headlights/signalusage, shock wave frequency, or jerks (composite g-force and speed). Insome examples, such variations may be utilized to determine one or moreof a reaction time, a time headway, a gap headway distance and time,rate of change of gap headway, time to collision, post encroachmenttime, encroachment time, deceleration to safety time, time-to-crosswalk,proportion of stopping distance time to lane crossing, right lanedeparture warning, time to right edge curving, hard brakes, or missingtraffic signals.

One or more of the dataset 1 102, dataset 2 104, dataset 3 106, dataset4 108, dataset 5 110, dataset 6 112, dataset 7 114, dataset 8 116,dataset 9 118, dataset 10 120, or dataset 11 122 may be functions ofother datasets. For example, dataset 4 108 may be a function of one ormore of dataset 1 102 or dataset 3 106. Dataset 8 116 may be a functionof one or more of dataset 5 110, dataset 6 112, or dataset 7 114. TheSAPP 100 may determine a safety factor as a function of one or more ofthe dataset 1 102, dataset 2 104, dataset 3 106, dataset 4 108, dataset5 110, dataset 6 112, dataset 7 114, dataset 8 116, dataset 9 118,dataset 10 120, or dataset 11 122. The SAPP 100 may determine a time toreact to a vehicle event as a function of vehicle event information,environment information, and vehicle reaction information. The SAPP 100may determine situational context as a function of the safety factor,the time to react, vehicle event information, environment information,and vehicle reaction information.

An environment 200 is shown and described with reference to FIG. 2. Theenvironment 200 may include a vehicle 202, which may comprise one ormore sensors 204 for gathering vehicle, driver, and/or environmentaldata corresponding with the one or more datasets described with respectto FIG. 1 (e.g., dataset 1 102, dataset 2 104, dataset 3 106, dataset 4108, dataset 5 110, dataset 6 112, dataset 7 114, dataset 8 116, dataset9 118, dataset 10 120, and/or dataset 11 122). The one or more sensors204 may comprise one or more odometers, global positioning and/ornavigation systems, cameras, level sensors (to detect rollovers),force/pressure/impact sensors, LIDAR, motion sensors, range/proximitysensors, various wireless network interfaces capable of detecting accessto different data networks, mobile networks, and other mobile devices(e.g., via Bluetooth), clocks, and/or movement sensors such as, forexample, accelerometers, speedometers, compasses, and gyroscopes.

The one or more sensors 204 may detect and store data relating to themaintenance of the vehicle, such as the engine status, oil level, enginecoolant temperature, odometer reading, the level of fuel in the fueltank, the level of charge in the battery (e.g., for hybrid or electriccars), engine revolutions per minute (RPMs), and/or tire pressure. Insome examples, the sensors 204 may be configured to collect dataassociated with a driver's movements or the condition of a driver, forexample, sensors that monitor a driver's movements, such as the driver'seye position and/or head position, etc. In some examples, the sensors204 may be configured to collect data associated with a vehicle or othervehicles. Additional safety or guidance-assistance features may beincluded in some vehicles, detecting and storing data such as lanedepartures, activation of adaptive cruise control, blind spot alerts,etc. The sensors may be installed during vehicle manufacture or as anafter-market addition.

The vehicle 202 may further comprise the SAPP 100, which may beintegrated into or connected to computer architecture of the vehicle 202or may be a standalone device, such as a mobile device, in communicationwith the one or more sensors 204, or any combination thereof. The SAPP100 may comprise a vehicle sensor component 206, a safety component 208,an activity/event identification component 210, an action reactionprocessing component 212, a modeling component 214, and a historicaldriver and driving characteristic database 216. The vehicle sensorcomponent 206, the safety component 208, the activity/eventidentification component 210, the action reaction processing component212, the modeling component 214, and the historical driver and drivingcharacteristic database 216 may be in communication via a communicationchannel such as, for example, bus 218. The SAPP 100 may additionalcommunicate with one or more devices via a network 220.

The example vehicle sensor component 206 may collect data from the oneof more sensors 204 associated with the vehicle 202 and/or thehistorical driver and driving characteristic database 216. In someexamples, the vehicle sensor component 206 may process and/or organizethe information from the one or more sensors 204 or the historicaldriver and driving characteristic database 216 into the plurality ofdatasets described in reference to FIG. 1. In examples wherein the SAPP100 is implemented via a mobile device, the vehicle sensor component 206may receive the data from the one or more sensors 204 or the historicaldriver and driving characteristic database 216 via wireless (e.g.,Bluetooth, near field communication, etc.) or wired connection (e.g.,universal serial bus (USB)) to the computing architecture of the vehicle202 or via a network connection. In some examples, the example vehiclesensor component 206 may collect data from additional sensors (e.g.,camera or accelerometer of a mobile device).

The example safety component 208 may utilize the data collected by theone or more sensors 204 and processed/organized by the vehicle sensorcomponent 206 to make a number of determinations with respect to thesafety of the vehicle 202. The example safety component 208 may utilizeraw sensor data to make conclusions regarding driver behaviors orconditions. For example, the safety component 208 may process data fromsensors monitoring a driver's eyes to determine whether the driver isalert, focused on the road, distracted, medicated, intoxicated,fatigued, sleeping, etc. Additionally, the safety component 208 maydetermine an indication of distraction (e.g., sleepiness) based on, forexample, lane stability, speed variations, jerks, etc. The examplesafety component 208 may monitor various driver behaviors and conditionsthroughout an entirety of a vehicle trip including various vehicleactivities, events, actions, and reactions.

The example safety component 208 may utilize such behavior or conditiondeterminations, the one or more datasets of FIG. 1, a driving errormodel (e.g., generated by the modeling component 214), current vehiclesensor information, current driver conditions, and vehicle eventidentifications to determine a safety factor for the driver/vehicle. Theexample safety factor may be a value between 0 and 100 and may providean indication, at any point in time, how close a driver is in accordancewith best driving practices.

The example safety factor may be associated with current driver/drivingconditions identified by the one or more sensors 204 to providecontextual information with the safety factor. The example safetycomponent 208 may determine a plurality of safety factors throughout anentire trip of a vehicle. The example safety component 208 may comparethe safety factors and the contextual information at various points ofthe vehicle trip to determine recurring safety concerns, areas fordriver improvement, and/or successful driving maneuvers. The safetycomponent 208 may utilize the safety factor(s) in association withinsurance services to make or propose insurance premium variations.

The safety component 208 may further determine, based on the safetyfactor, a vehicle instruction. For example, the safety component 208 maydetermine that, based on the safety factor, autonomous control of thevehicle 202 would be an improvement to the current control of thevehicle 202. Accordingly, the safety component 208 may output a vehicleinstruction to hand-off or otherwise switch the vehicle to autonomouscontrol. Additionally or alternative, the safety component 208 maydetermine a specific autonomous vehicle maneuver to avoid a vehicleevent such as a collision. The safety component 208 may output aspecific instruction including the autonomous vehicle maneuver, ratherthan hand-off or otherwise switch to total autonomous control. Othervehicle instructions may comprise, for example, warnings or alertsregarding traffic condition, wandering eyes, taking hands off wheel,failing to initiate a reaction within a threshold amount of time,increasing volume of audio too high, etc. Such warnings or alerts may bevisual (e.g., lights and/or displays), audible (e.g., sounds and/orwords), tangible (e.g., haptic feedback), or any combination thereof.The safety component 208 may further provide all determined safetyfactors, driver/driving behavior determinations, instructions, etc. tothe modeling component 214 to generate and/or improve the driving errormodel.

The example activity/event identification component 210 may identifyvehicle activity and vehicle events, such as for example, stopping at astop light, merging lanes, entering/exiting a highway, turning, etc. Theactivity/event identification component 210 may utilize data from theone or more sensors 204 and/or the data processed/organized by thevehicle sensor component 206 to identify a vehicle event. For example,navigation data may indicate a vehicle is supposed to take an exit onthe right of a highway within one mile. Sensor data associated with thevehicle may indicate said vehicle is in the left most lane. Accordingly,the activity/event identification component 210 may identify theactivity of exiting the highway and/or one or more vehicle events toaccomplish the activity of exiting the highway (e.g., initiating a turnsignal, changing lanes to from left most lane to right most lane,decelerating below the speed limit of the highway, maintaining an exitramp speed limit, turning, coming to stop, and/or turning onto adifferent road). In some examples, an activity or event may beidentified as it is occurring. For example, the activity/eventidentification component 210 may identify that a turn signal has beenactivated on a highway and thus a lane change is likely to occur.Additionally or alternatively, the activity/event identificationcomponent 210 may identify a vehicle has begun merging into an adjacentlane and identify that a lane change is occurring. Data regarding thedriver (e.g., data indicating driver is checking mirrors/blind spotsbefore or after a turn signal is initiated) may further be used by theactivity/event identification component 210 to identify and/or predict avehicle is about to occur.

In the example wherein the vehicle event is a vehicle collision or anear miss, the activity/event identification component 210 may utilizedata from accelerometers configured to detect a deceleration exceeding athreshold to determine whether an impact has occurred. In exampleswherein the event is a vehicle collision, the accelerometers may detecta first deceleration above a first threshold. In examples wherein theevent is a near miss, the accelerometers may detect a seconddeceleration above a second threshold, wherein the first threshold ishigher than the second threshold. In such examples, the accelerometersmay detect an acceleration subsequent to the second deceleration andwithin a threshold amount of time, which may be indicative of thevehicle slowing to avoid a collision and accelerating away. All vehicleoperations may be associated with data signatures like those describedabove (e.g., deceleration followed by acceleration may be associatedwith coming to a stop without incident, rapid deceleration followed bynothing may be associated with a vehicle collision, etc.).

Additionally, or alternatively, other sensors may be used to similarlydetect an event. For example, range sensors may be used to determinewhen an object occupies the same space as the vehicle 202 (e.g., theobject is 0 inches away). Furthermore, one or more cameras may beutilized in combination with image recognition to identify a vehicleevent. Furthermore, the activity/event identification component 210 maycommunicate with the modeling component 214 using one or more machinelearning algorithms (e.g., decision trees, neural networks, etc.) to“learn” what vehicle events (e.g., a vehicle collision) and the momentsbefore the events look like (in terms of sensor data), so that theactivity/event identification component 210 may further advance vehicleevent detection.

The example action reaction processing component 212 may utilize thedata collected by the one or more sensors 204 and processed/organized bythe vehicle sensor component 206 to make a number of determinationsassociated with actions taken by the driver that may impact the safetyfactor (e.g., eye wandering, hands off wheel, etc.). In some examples,not all actions by the driver may be identifiable (e.g., lack of asensor, non-consent to use of sensor, etc.). In such examples, theaction reaction processing component 212 may utilize other datacollected by the one or more sensors 204 and processed/organized by thevehicle sensor component 206 to identify any reactions taken that mayimplicitly provide context with respect to driver actions. For example,the action reaction processing component 212 may determine the vehicle'sreaction to a vehicle event and the time it took the vehicle to reactafter identification of the vehicle event. The example action reactionprocessing component 212 may compare determined reactions of the vehicleand the vehicle reaction times to expected reactions and expectedreaction times determined by the modeling component 214. For example,the action reaction processing component 212 may compare a vehicle'sactual performance (or lack thereof) to the expected performance of thevehicle determined by the modeling component 214 to determine how closethe vehicle's action was to the expected performance. The actionreaction processing component 212 may compare the time it took thevehicle to react after identification of the vehicle event to theestimated time to perform the expected performance determined by themodeling component 214.

Such comparisons may enable the action reaction processing component 212to determine actions of the driver. For example, delayed reaction timesmay correspond with a distracted, medicated, or intoxicated driver.Further determinations may be made by leveraging driver characteristicsin the historical driver and driving characteristic database 216. Insome examples, the action reaction processing component 212 maydetermine that a vehicle's reaction is not going to happen (e.g., basedon no reaction occurring within a threshold amount of time). The actionreaction processing component 212 may balance a time to impact with atime allotted for a vehicle (and its driver) to respond in order todetermine the threshold amount of time that the action reactionprocessing component 212 will wait for a reaction before alerting adriver or switching to autonomous control.

In some examples, the example action reaction processing component 212generates a maneuver instruction to send to autonomous control systemsof a vehicle if the driver does not react within a threshold amount oftime. This may be a simple instruction to assume autonomous control ofthe vehicle or may be a specific autonomous instruction to avoidimproper vehicle activity. For example, if an exit ramp is approachingin 0.25 miles and a vehicle has not changed into the most right lanewithin the last mile, an instruction may be sent to initiate a lanechange. In some examples, the action reaction processing component 212utilizes machine learning algorithms (e.g., neural networks, decisiontrees, etc.) to use maneuver instructions with unfamiliar events. Insome examples, the action reaction processing component 212 communicatesits analysis to the safety component 208. In some examples, the actionreaction processing component 212 communicates its analysis to themodeling component 214 to generate and/or improve a driver error model.

In some examples, the action reaction processing component 212 mayutilize the data collected by the one or more sensors 204 andprocessed/organized by the vehicle sensor component 206 to determine acurrent vehicle activity (e.g., vehicle merging, stopping, enteringhighway, exiting highway, etc.), which may provide additional context toa vehicles action or reaction.

Modeling component 214 may utilize machine learning to generate a drivererror model, which may include driver and/or driving behavior models. Asused herein, machine learning may include generating one or more modelsusing data from the example historical driver and driving characteristicdatabase 216 and one or more algorithms. In some examples, supervisedmachine learning is utilized, wherein the one or more generated modelsare presented with inputs and outputs, and the machine learningalgorithm determines one or more general rules to map the inputs tooutputs. For example, a subset of the data from the historical driverand driving characteristic database 216, such as, for example, dataassociated with data immediately prior to past events, may be used asinput data and data during and/or immediately after past events may beidentified as the output. From these inputs and output (i.e., a trainingdata set), the machine learning algorithms may be able to identifyproper and improper vehicle activities. In some examples, the machinelearning algorithms may be able to predict occurrences of future vehicleevents. Of course, other data may be applied as inputs/outputs such asdata from some or all of a trip, speed of vehicles, environmentalconditions, time of the day, location of vehicles, vehicle controlstatus information, driver behavior information, vehicle on-boardtelematics data, contextual information, or any combination thereof.

Machine learning may be applied, as disclosed herein, to identifyspecific conditions that lead to events from a vehicle's perspective.Predictive behaviors may be used to identify and conform activity priorto any improper variations from expected behaviors. For example, theexample machine learning algorithms may be “trained” with camera feedsand/or image recognition data corresponding to various vehicle eventssuch that the activity/event identification component 210 may predict,with high accuracy, that an event is about to occur and/or is occurring.For example, the SAPP 100 may send an instruction to an autonomouslycontrolled vehicle based on identification of an event and/or anidentification of a lack of vehicle reaction to the event within athreshold amount of time.

In some examples, the modeling component 214 determines, based on avehicle event, an expected performance of the vehicle and an estimatedtime for the vehicle to perform the expected performance. For example,based on data from the historical driver and driving characteristicdatabase 216, global positioning data, navigation data, and/or sensordata, the modeling component 214 may determine that a vehicle iscurrently or about to be involved in a vehicle event. Vehicle events maycomprise any number of vehicle situations including, without limitation,a collision, maintaining a speed in accordance with a speed limit,staying in a lane, a lane change, a turn, an acceleration, adeceleration, etc. with the modeling component 214 may identify, foreach vehicle event, expected performances and respective times forperforming expected performances. For example, (e.g., come to a safestop where there is an abundant amount of time to perform an action,decelerate where there is a decreased amount of time to perform anaction, swerve where there is a minimal amount of time to perform anaction, etc.). The modeling component 214 may identify one of the one ormore options as the expected performance of the vehicle based on, forexample, the amount of time to react, the safest option,traffic/environment data, etc. The modeling component 214 maycommunicate, to the action reaction processing component 212, theexpected performance of the vehicle and the estimated time for thevehicle to perform the expected performance.

In some examples, the estimated time corresponds to a time between thetime that an autonomously controlled vehicle would respond to thevehicle event and the time that an average human operator would respondto the vehicle event. The modeling component 214 may determine a drivingerror model based on the data from the one or more sensors 204, datafrom the historical driver and driving characteristic database 216(e.g., previous driver conditions, previous vehicle events, previousreactions to the previous vehicle events), comparing the vehiclereaction to the expected performance, and comparing the time to theestimated time to perform the expected performance.

The example modeling component 214 may, based on the generated drivererror model, identify factors important for risk analysis, utilize eventtype perspective to determine action behavior, identify event typeclusters in the context of risk or safety, identify critical factors forall events or groups of event types, determine thresholds for safetyfactors and reaction times, determine weight of past driving history forsafety factor determinations, associate the safety factor withdemographics, and/or predict a driver's current cognitive load.

The example historical driver and driving characteristic database 216may be a computer readable storage medium or memory that stores one ormore of vehicle profiles, vehicle identification information, driverprofiles, driver identification information, insurance informationassociated with a vehicle, information about additional parties relatedto the driver such as, for example, family members that may or may notbe covered by the insurance policy associated with the vehicle,information associated with a plurality of previous events and/or eventsimulations, previous event reports detailing dates, times, speeds ofvehicles involved in the event, vehicle identification numbers, licenseplate information, routes, locations of the events (e.g., latitude andlongitude, address, street, intersection, etc.), sensor and imagerydata, whether safety features were equipped/activated in a vehicle,national highway traffic safety administration (NHTSA) level of autonomyof the vehicle, whether the vehicle or driver was in control of thevehicle, communications from the vehicle to the driver, drivingconditions, weather conditions, insurance coverage information, vehiclereports, infrastructure devices data, insurance claim information (e.g.,whether a claim was submitted, whether the claim was settled, the timetaken to settle the claim, etc.), type of damage, severity of damage,parties informed (e.g., emergency medical technicians (EMTs), insuranceentities, infrastructure repair services, etc.), condition of thevehicle, insured/vehicle owners, number of passengers, whether seatbelts were utilized, passenger weight, vehicle braking, estimate cost toreplace/repair damage, etc. Such data may be used by one or more machinelearning algorithms for identification of new events, determining causesof the events, associated fault to entities involved in the event,determining autonomous vehicle instructions, etc.

The driver profiles in the historical driver and driving characteristicdatabase 216 may comprises data from the datasets set forth anddescribed with respect to FIG. 1, which correspond to a uniqueindividual. Driver profile information may additionally be physicallyentered into the database 216 via the individual, determined throughonline analysis of various social media databases associated with theindividual, medical and/or criminal records, and/or analyzed by themethods, systems, or apparatuses described herein and incorporated intothe historical driver and driving characteristic database 216. Thedriver profiles may comprise one or more aspects corresponding to adriver such as, for example, a driver's historical medication use, age,gender, marital status, education, occupation and/or driving data suchas, for example, driving experience, crash history, driving behavior,traffic violations, experience with the route, duration of a trip,planned route.

All information gathered and processed in accordance with the methods,systems, or apparatuses described herein may be stored in the historicaldriver and driving characteristic database 216. In some examples, serverbased network storage may be utilized in connection with or in lieu ofan on board storage device in implementing the historical driver anddriving characteristic database 216. In some examples, one or morevehicles involved in and/or in the vicinity of an event collect and/orstore data corresponding to date, time, speed of vehicles involved inthe event, vehicle identification number, license plate information,route/location of the event (e.g., latitude and longitude, address,street, intersection, etc. based on a global positioning system in thevehicle and/or a user device), sensor and imagery data, whether safetyfeatures are equipped/activated in a vehicle, NHTSA level of autonomy ofthe vehicle, whether the vehicle or driver was in control of thevehicle, known driving conditions, known weather conditions, type ofdamage, severity of damage, condition of the vehicle, registered vehicleowners/drivers, number of passengers, whether seat belts were utilized,passenger weight, vehicle braking, estimate cost to replace/repairdamage, etc. At least some data may be collected via one or more sensorsor cameras from one or more vehicles. For example, multiple vehiclesequipped in accordance with the present disclosure and in the vicinityof each other may operate, communicate, and acquire data together.Additionally, or alternatively, at least some data may be programmedinto and/or stored on the respective vehicles. Such information may becontinuously added to the historical driver and driving characteristicdatabase 216.

The vehicle sensor component 206, the safety component 208, theactivity/event identification component 210, the action reactionprocessing component 212, the modeling component 214, the historicaldriver and driving characteristic database 216, and/or more generally,the SAPP 100, and/or other computing devices described herein may eachbe implemented via a hardware platform such as, for example, thecomputing device 300 illustrated in FIG. 3. In some examples, thecomputing device 300 may implement the vehicle sensor component 206, thesafety component 208, the activity/event identification component 210,the action reaction processing component 212, the modeling component214, and/or the historical driver and driving characteristic database216, such that all elements are incorporated into a single device. Someelements described with reference to the computing device 300 may bealternately implemented in software. The computing device 300 mayinclude one or more processors 301, which may execute instructions of acomputer program to perform any of the features described herein. Theinstructions may be stored in any type of tangible computer-readablemedium or memory, to configure the operation of the processor 301. Asused herein, the term tangible computer-readable storage medium isexpressly defined to include storage devices or storage discs and toexclude transmission media and propagating signals. For example,instructions may be stored in a read-only memory (ROM) 302, randomaccess memory (RAM) 303, removable media 304, such as a Universal SerialBus (USB) drive, compact disk (CD) or digital versatile disk (DVD),floppy disk drive, or any other desired electronic storage medium.Instructions may also be stored in an attached (or internal) hard drive305. The computing device 300 may include one or more input/outputdevices 306, such as a display, touch screen, keyboard, mouse,microphone, software user interface, etc. The computing device 300 mayinclude one or more device controllers 307 such as a video processor,keyboard controller, etc. The computing device 300 may also include oneor more network interfaces 308, such as input/output circuits (such as anetwork card) to communicate with a network such as the example network220. The network interface 308 may be a wired interface, wirelessinterface, or a combination thereof. One or more of the elementsdescribed above may be removed, rearranged, or supplemented withoutdeparting from the scope of the present disclosure.

FIGS. 4A-4B are a flow chart illustrative of a process 400 forimplementing an example safety analytic processing platform inaccordance with one or more aspects described herein. The process 400may begin with the vehicle sensor component 206, the safety component208, the activity/event identification component 210, the actionreaction processing component 212, the modeling component 214, and/orthe historical driver and driving characteristic database 216 beingconfigured. In some examples, the vehicle sensor component 206 receives,from the one or more sensors 204 and/or the historical driver anddriving characteristic database 216, sensor data and/or a driver/drivingprofile (402). The driving profile may comprise a first aspect and asecond aspect, wherein the first aspect of the driving profilecorresponds to a condition of the driver. The vehicle sensor component206 may process sensor data received from the sensors 204 and/or thehistorical driver and driving characteristic database 216 (404). Theactivity/event identification component 210 may receive sensor datacorresponding to vehicle activity and/or one or more vehicle events(406). In some examples, the activity/event identification component 210receives processed sensor data from the vehicle sensor component 206. Insome examples, the activity/event identification component 210 mayreceive sensor data directly from the one or more sensors 204. Theactivity/event identification component 210 may identify at least onevehicle event based on the received sensor data (408).

The modeling component 214 may determine, based on identification of thevehicle event, an expected performance of the vehicle and an estimatedtime to perform the expected performance (410). The action reactionprocessing component 212 may determine a vehicle reaction to the vehicleevent (412). The action reaction processing component 212 may compare,based on the vehicle event, the vehicle reaction to the expectedperformance to determine a driver's variance from the expectedperformance (414). The action reaction processing component 212 maydetermine a reaction time of the vehicle (e.g., a time betweenidentifying the vehicle event and the vehicle reaction occurring) (416).The action reaction processing component 212 may compare the reactiontime to the estimated time to perform the expected performance todetermine a driver's variance from the estimated time (418). Forexample, if the vehicle event was decelerating on a highway inpreparation to exit the highway, the expected performance may bedeceleration from a first speed limit (e.g., the highway speed limit) toa second speed limit (e.g. the exit ramp speed limit) with a thresholdamount of time, and action reaction processing component 212 maydetermine that the vehicle did not decelerate enough, decelerated toomuch, decelerated too quickly, decelerated too slowly, or deceleratedappropriately.

Based on one or more of driver profile aspects, the vehicle event,comparisons of the vehicle reaction to the expected performance, and/orcomparisons of the reaction time to the estimated time to perform theexpected performance, the modeling component 214 may determine a drivingerror model (420). In some example, the driving error model comprisesdriver behavior over an entire trip.

After the driving error model has been generated, the activity/eventidentification component 210 may identify, based on the plurality ofsensors associated with the vehicle, another vehicle event (422). Thesafety component 208 may determine a safety factor based on the drivingerror model, current vehicle sensor information, current driverconditions, and the other vehicle event (424). The safety component 208may output, based on the safety factor, a vehicle instruction (426).Thereafter the example process 400 may cease operation.

While many advantages may be understood from the above, the exhaustivedriving analytical systems and modelers disclosed herein may be used forall driving activity in addition to post-accident analysis to understandthe accident behavior at an individual or overall level (e.g.,arbitration, insurance pricing, proposing laws for certain behaviors,correcting certain road situations, etc.), provide safety metrics,information, and/or alerts for drivers in real-time to preventoccurrences of vehicle events (e.g., accidents and/or close calls),and/or advance autonomous driving technology by determining best timesfor transitioning from driver to autonomous control or vice-versa).

Below are non-limiting example methods, systems, and apparatuses whichmay comprise receiving, by a computing device and for a driver, adriving profile comprising a first aspect, wherein the first aspect ofthe driving profile corresponds to a condition of the driver,identifying, based on a plurality of sensors associated with a vehicle,a first vehicle event, determining, based on the first vehicle event, anexpected performance of the vehicle and an estimated time to perform theexpected performance, comparing, based on the vehicle event, a vehiclereaction to the expected performance, determining a time betweenidentifying the vehicle event and the vehicle reaction, comparing thetime to the estimated time to perform the expected performance,determining, a driving error model based on the first aspect of thedriving profile, comparing the vehicle reaction to the expectedperformance, and comparing the time to the estimated time to perform theexpected performance, identifying, based on the plurality of sensorsassociated with the vehicle, a second vehicle event, determining asafety factor, wherein the determining the safety factor is based on thedriving error model, current vehicle sensor information, current driverconditions, and the second vehicle event, and outputting, based on thesafety factor, a vehicle instruction.

In some examples, the condition of the driver corresponds to one of alevel of distraction, an amount of medication usage, a level ofintoxication, an emotional level, a level of experience with currentroute, or a level of experience with current conditions.

In some examples, the example methods, systems, and apparatuses comprisedetermining a second aspect of the driving profile, wherein thedetermining is based on the first aspect of the driving profile,comparing the vehicle reaction to the expected performance, andcomparing the time to the estimated time to perform the expectedperformance.

In some examples, the second aspect of the driving profile was unknownprior to the determining.

In some examples, the vehicle instruction comprises an instruction tohand-off or otherwise switch the vehicle to an autonomous driving modebased on the safety factor failing to satisfy a threshold.

In some examples, the estimated time to perform the expected performanceis between a first amount of time in which an autonomous vehicle wouldperform the expected performance and a second amount of time in which anaverage non-distracted human operator would perform the expectedperformance.

In some examples, the example methods, systems, and apparatuses comprisegenerating a vehicle report, wherein the vehicle report comprises thefirst aspect and the second aspect of the driving profile, the vehiclereaction the time between identifying the vehicle event and the vehiclereaction and the estimated time to perform the expected performance.

Example methods, systems, and apparatuses may comprise receiving, by acomputing device and for a driver, a driving profile comprising a firstaspect and a second aspect, wherein the first aspect of the drivingprofile corresponds to a condition of the driver, identifying, based ona plurality of sensors associated with a vehicle, a vehicle event,

-   -   determining, based on identifying the vehicle event, an expected        performance of the vehicle and an estimated time to perform the        expected performance, comparing, based on the vehicle event        occurring, an action of the vehicle to the expected performance,        determining a time between identifying the vehicle event and the        action of the vehicle, comparing the time to the estimated time        to perform the expected performance, determining, based on the        first aspect of the driving profile, based on comparing the        action of the vehicle to the expected performance, and based on        comparing the time to the estimated time to perform the expected        performance, a value for the second aspect of the driving        profile, and generating a vehicle report, wherein the vehicle        report comprises the first aspect and the second aspect of the        driving profile, the action of the vehicle, the time between        identifying the vehicle event and the action of the vehicle, and        the estimated time to perform the expected performance.

In some examples, the second aspect corresponds to one of a level ofdistraction of the driver, a medication usage history, an intoxicationhistory, an occupation status, a marital status, a level of experiencewith current route, or a level of experience with current conditions.

In some examples, the example methods, systems, and apparatuses comprisedetermining a third aspect of the driving profile, wherein thedetermining is based on the first aspect of the driving profile, thesecond aspect of the driving profile, comparing the action of thevehicle to the expected performance, and comparing the time to theestimated time to perform the expected performance.

In some examples, the third aspect of the driving profile was unknownprior to the determining.

In some examples, the example methods, systems, and apparatuses comprisesending an instruction to hand-off or otherwise switch the vehicle to anautonomous driving mode.

In some examples, the estimated time to perform the expected performanceis between a first amount of time in which an autonomous vehicle wouldperform the expected performance and a second amount of time in which anaverage non-distracted human operator would perform the expectedperformance.

In some examples, the example methods, systems, and apparatuses comprisedetermining a safety factor based on the first aspect and the secondaspect of the driving profile, the action of the vehicle, the timebetween identifying the vehicle event and the action of the vehicle, andthe estimated time to perform the expected performance, and includingthe safety factor in the vehicle report.

Example methods, systems, and apparatuses may comprise accessing, by acomputing device, a driving error model, wherein the driving error modelis based on previous driver conditions, previous vehicle events,previous reactions to the previous vehicle events, and at least onecomparison between a reaction time of one of the previous reactions tothe previous vehicle events and an expected reaction time, identifying,based on a plurality of sensors associated with a vehicle, a vehicleevent, determining a safety factor, wherein the determining the safetyfactor is based on the driving error model, current vehicle sensorinformation, current driver conditions, a vehicle reaction to thevehicle event, and the vehicle event, and outputting, based on thesafety factor, a vehicle instruction.

In some examples, the vehicle instruction comprises an instruction tohand-off or otherwise switch the vehicle to an autonomous driving modebased on the safety factor failing to satisfy a threshold.

In some examples, the current driver conditions corresponds to one of alevel of distraction, an amount of medication usage, a level ofintoxication, an emotional level, a level of experience with currentroute, or a level of experience with current environment conditions.

In some examples, the estimated reaction time is between a first amountof time in which an autonomous vehicle reacted to one of the previousvehicle events and a second amount of time in which an averagenon-distracted human operator reacted to the one of the previous vehicleevents.

In some examples, the example methods, systems, and apparatuses comprisegenerating a vehicle report, wherein the vehicle report comprises thesafety factor, the vehicle event, and the vehicle reaction to thevehicle event.

In some examples, the computing device comprises a mobile device withina vehicle.

The above discussed embodiments are simply examples, and modificationsmay be made as desired for different implementations. For example, stepsand/or components may be subdivided, combined, rearranged, removed,and/or augmented; performed on a single device or a plurality ofdevices; performed in parallel, in series; or any combination thereof.Additional features may be added.

The invention claimed is:
 1. A method comprising: receiving, by acomputing device having at least one processor and for a driver, adriving profile comprising a first aspect, wherein the first aspect ofthe driving profile corresponds to a condition of the driver;identifying, by the at least one processor and based on a plurality ofsensors associated with a vehicle, a first vehicle event; determining,by the at least one processor and based on the first vehicle event, anexpected performance of the vehicle and an estimated time to perform theexpected performance; comparing, by the at least one processor and basedon the first vehicle event, a vehicle reaction to the expectedperformance; determining, by the at least one processor, a time betweenidentifying the vehicle event and the vehicle reaction; comparing, bythe at least one processor, the time with the estimated time to performthe expected performance; determining, by the at least one processor, adriving error model associated with the driver based on: the firstaspect of the driving profile, comparing the vehicle reaction with theexpected performance, and comparing the time with the estimated time toperform the expected performance; identifying, by the at least oneprocessor and based on the plurality of sensors associated with thevehicle, a second vehicle event; determining, by the at least oneprocessor, a safety factor associated with the driver, wherein thedetermining the safety factor is based on: the driving error model;current vehicle sensor information; current driver conditions; and thesecond vehicle event; and outputting, by the at least one processor andbased on the safety factor, a vehicle instruction.
 2. The method ofclaim 1, wherein the condition of the driver corresponds to one of alevel of distraction, an amount of medication usage, a level ofintoxication, an emotional level, a level of experience with currentroute, or a level of experience with current conditions.
 3. The methodof claim 1, further comprising: determining, by the at least oneprocessor, a second aspect of the driving profile, wherein thedetermining is based on: the first aspect of the driving profile,comparing, by the at least one processor, the vehicle reaction to theexpected performance, and comparing, by the at least one processor, thetime to the estimated time to perform the expected performance.
 4. Themethod of claim 3, further comprising: generating, by the at least oneprocessor, a vehicle report, wherein the vehicle report comprises: thefirst aspect and the second aspect of the driving profile; the vehiclereaction; the time between identifying the first vehicle event and thevehicle reaction; and the estimated time to perform the expectedperformance.
 5. The method of claim 1, further comprising determining,based on the first vehicle event and based on the second vehicle event,vehicle activity.
 6. The method of claim 1, wherein the vehicleinstruction comprises an instruction to switch the vehicle into anautonomous driving mode based on the safety factor failing to satisfy athreshold.
 7. The method of claim 1, wherein the estimated time toperform the expected performance is between a first amount of time inwhich an autonomous vehicle would perform the expected performance and asecond amount of time in which an average non-distracted human operatorwould perform the expected performance.
 8. A method comprising:receiving, by a computing device having at least one processor and for adriver, a driving profile comprising a first aspect and a second aspect,wherein the first aspect of the driving profile corresponds to acondition of the driver; identifying, by the at least one processor andbased on a plurality of sensors associated with a vehicle, a vehicleevent; determining, by the at least one processor and based onidentifying the vehicle event, an expected performance of the vehicleand an estimated time to perform the expected performance; comparing, bythe at least one processor, a maneuver of the vehicle based on thevehicle event with the expected performance; determining, by the atleast one processor, a time between identifying the vehicle event andthe maneuver of the vehicle; comparing, by the at least one processor,the time with the estimated time to perform the expected performance;determining, by the at least one processor and based on the first aspectof the driving profile, based on comparing the maneuver of the vehicleto the expected performance, and based on comparing the time to theestimated time to perform the expected performance, a value for thesecond aspect of the driving profile; and generating, by the at leastone processor, a vehicle report, wherein the vehicle report comprises:the first aspect and the second aspect of the driving profile; themaneuver of the vehicle; the time between identifying the vehicle eventand the maneuver of the vehicle; and the estimated time to perform theexpected performance.
 9. The method of claim 8, wherein the secondaspect corresponds to one of a level of distraction of the driver, amedication usage history, an intoxication history, an occupation status,a marital status, a level of experience with current route, or a levelof experience with current conditions.
 10. The method of claim 8,further comprising: determining, by the at least one processor, a thirdaspect of the driving profile, wherein the determining is based on: thefirst aspect of the driving profile, the second aspect of the drivingprofile, comparing the maneuver of the vehicle to the expectedperformance, and comparing the time to the estimated time to perform theexpected performance.
 11. The method of claim 8, further comprising:identifying a second vehicle event; and determining, based on thevehicle event and based on the second vehicle event, vehicle activity.12. The method of claim 8, further comprising: sending, by the at leastone processor, an instruction to switch the vehicle into an autonomousdriving mode.
 13. The method of claim 8, wherein the estimated time toperform the expected performance is between a first amount of time inwhich an autonomous vehicle would perform the expected performance and asecond amount of time in which an average non-distracted human operatorwould perform the expected performance.
 14. The method of claim 8,further comprising: determining, by the at least one processor, a safetyfactor based on: the first aspect and the second aspect of the drivingprofile; the maneuver of the vehicle; the time between identifying thevehicle event and the maneuver of the vehicle; and the estimated time toperform the expected performance; and including the safety factor in thevehicle report.
 15. A method comprising: accessing, by a computingdevice having at least one processor, a driving error model associatedwith a driver, wherein the driving error model is based on: previousdriver conditions; previous vehicle events; previous reactions to theprevious vehicle events; and at least one comparison between a reactiontime of one of the previous reactions to the previous vehicle events andan expected reaction time; identifying, by the at least one processorand based on a plurality of sensors associated with a vehicle, a vehicleevent; determining, by the at least one processor, a safety factor,wherein the determining the safety factor is based on: the driving errormodel; current vehicle sensor information; current driver conditions; avehicle reaction to the vehicle event; and the vehicle event; andoutputting, by the at least one processor and based on the safetyfactor, a vehicle instruction.
 16. The method of claim 15, wherein thevehicle instruction comprises an instruction to switch the vehicle intoan autonomous driving mode based on the safety factor failing to satisfya threshold.
 17. The method of claim 15, wherein the current driverconditions corresponds to one of a level of distraction, an amount ofmedication usage, a level of intoxication, an emotional level, a levelof experience with current route, or a level of experience with currentenvironment conditions.
 18. The method of claim 15, wherein the expectedreaction time is between a first amount of time in which an autonomousvehicle reacted to one of the previous vehicle events and a secondamount of time in which an average non-distracted human operator reactedto the one of the previous vehicle events.
 19. The method of claim 15,further comprising: generating, by the at least one processor, a vehiclereport, wherein the vehicle report comprises: the safety factor; thevehicle event; and the vehicle reaction to the vehicle event.
 20. Themethod of claim 15, wherein the computing device comprises a mobiledevice within a vehicle.